Autogenerated HTML docs for v1.7.1-569-g6f426 
diff --git a/rev-list-options.txt b/rev-list-options.txt index b9fb7a8..73569c0 100644 --- a/rev-list-options.txt +++ b/rev-list-options.txt 
@@ -384,6 +384,14 @@ 	merges from the resulting history, as there are no selected 	commits contributing to this merge.   +--ancestry-path:: + +	When given a range of commits to display (e.g. 'commit1..commit2' +	or 'commit2 {caret}commit1'), only display commits that exist +	directly on the ancestry chain between the 'commit1' and +	'commit2', i.e. commits that are both descendants of 'commit1', +	and ancestors of 'commit2'. +  A more detailed explanation follows.    Suppose you specified `foo` as the <paths>. We shall call commits @@ -440,7 +448,7 @@  +  -----------------------------------------------------------------------  .-A---N---O - / / + / / / 	I---------D  -----------------------------------------------------------------------  + @@ -511,8 +519,6 @@  one of the parents is TREESAME, we follow only that one, so the other  sides of the merge are never walked.   -Finally, there is a fourth simplification mode available: -  --simplify-merges::   	First, build a history graph in the same way that @@ -554,6 +560,46 @@  removed completely, because it had one parent and is TREESAME.  --   +Finally, there is a fifth simplification mode available: + +--ancestry-path:: + +	Limit the displayed commits to those directly on the ancestry +	chain between the "from" and "to" commits in the given commit +	range. I.e. only display commits that are ancestor of the "to" +	commit, and descendants of the "from" commit. ++ +As an example use case, consider the following commit history: ++ +----------------------------------------------------------------------- + D---E-------F + / \ \ + B---C---G---H---I---J + / \ +	A-------K---------------L--M +----------------------------------------------------------------------- ++ +A regular 'D..M' computes the set of commits that are ancestors of `M`, +but excludes the ones that are ancestors of `D`. This is useful to see +what happened to the history leading to `M` since `D`, in the sense +that "what does `M` have that did not exist in `D`". The result in this +example would be all the commits, except `A` and `B` (and `D` itself, +of course). ++ +When we want to find out what commits in `M` are contaminated with the +bug introduced by `D` and need fixing, however, we might want to view +only the subset of 'D..M' that are actually descendants of `D`, i.e. +excluding `C` and `K`. This is exactly what the '\--ancestry-path' +option does. Applied to the 'D..M' range, it results in: ++ +----------------------------------------------------------------------- +	E-------F + \ \ + G---H---I---J + \ +	L--M +----------------------------------------------------------------------- +  The '\--simplify-by-decoration' option allows you to view only the  big picture of the topology of the history, by omitting commits  that are not referenced by tags. Commits are marked as !TREESAME